<?php
//2012-9-25 by yzw

/*
*获取目录下所有文件路劲（包括子文件夹中的文件）
*/
function getFilesPath($filedir) 
{
	$allfiles = array(); //文件名数组
	
	$tempArr = array(); //临时文件名数组
	
	if (is_dir($filedir)) 
	{
		if ($dh = opendir($filedir)) 
		{
			while (FALSE !== ($filestring = readdir($dh))) 
			{
				if ($filestring != '.' && $filestring != '..') 
				{ 
					if (is_dir($filedir .'/'. $filestring)) 
					{
						$tempArr = getFilesPath($filedir .'/'. $filestring);//继续遍历该子目录
						$allfiles = array_merge($allfiles, $tempArr); //把临时文件名和临时文件名组合
						
					} else if (is_file($filedir .'/'. $filestring)) 
					{
						$allfiles[] = realpath($filedir .'/'. $filestring); //如果该文件名是一个文件不是目录,直接赋值给文件名数组
					}
				}
			}
		} else{
			exit('Open the directory failed');
		}
		closedir($dh);//关闭目录句柄
		return $allfiles;//返回文件名数组
	} else {
		exit('The directory is not exist');
	}
}

/*
*获取目录下所有文件的文件名（包括子目录）
*/
function getFilesName($filedir)
{
	$files = scandir($filedir);
	foreach($files as $key => $val)
	{
		if(is_file($filedir .'\\'. $val))
		{
			$filename[] = $val;
		}elseif(is_dir($filedir .'\\'. $val) && $val!='.' && $val != '..')
		{
			$filename[$val] = getFilesName($filedir .'\\'. $val);
		}
	}
	return $filename;
}

/*
*重写 mkdir 可循环创建；
*/
function _mkdir($dir)
{
   return is_dir($dir) or (_mkdir(dirname($dir)) and mkdir($dir, 0777));
}
